// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue' // 这种写法可以引入用npm安装得模块，类似node.js中的require引入模块
import App from './App' // 这种写法单纯引入自定义得模块
// 引入自定义的路由
import router from './router/router.js'
// 引入elementui相关内容
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import './assets/css/common.css'

// 引入axios
import axios from 'axios'

// 引入属性表格插件
import ElTreeGrid from 'element-tree-grid'

// 引入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
// 将axios绑定到Vue原型上，这样Vue的实例(所有的组件)都可以直接使用
Vue.prototype.$axios = axios

// 给axios添加默认url，因为Vue是添加为Window属性，则axios也变成了全局的属性
axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'

// 给axios添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    config.headers.Authorization = localStorage.getItem('token')
    // console.log(config)

    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)

// 安装一下elementui插件
// 只要use一下，就可以写不属于原生dom的标签，如<router-view></router-view> <el-form></el-form>，这些插件自己会全局的解析
Vue.use(ElementUI)

Vue.config.productionTip = false
// var ElTreeGrid = require('element-tree-grid')
Vue.component(ElTreeGrid.name, ElTreeGrid)
Vue.use(VueQuillEditor /* { default global options } */)

// eslint-disable-next-line

/* eslint-disable */

/* eslint-disable no-new */
new Vue({
  router,
  el: '#app',
  components: { App },
  template: '<App/>'
})
